package alp.starcode.nudtportal.framework.mybatis.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;

/**
 * <p>
 * sys_func(系统功能表)
 * </p>
 *
 * @author xwx
 * @since 2023-08-08
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("sys_func")
@ApiModel(value = "SysFunc对象", description = "sys_func(系统功能表)")
public class SysFunc extends Model<SysFunc> {

    private static final long serialVersionUID = 1L;

    @TableId("func_id")
    private String funcId;

    @TableField("sys_func_id")
    private String sysFuncId;

    @TableField("func_name")
    private String funcName;

    @ApiModelProperty(value = "功能图标")
    @TableField("icon")
    private String icon;

    @TableField("func_key")
    private String funcKey;

    @TableField("func_path")
    private String funcPath;

    @ApiModelProperty(value = "功能类型：目录、前端路由、操作")
    @TableField("func_type")
    private String funcType;

    @TableField("remarks")
    private String remarks;

    @TableField("func_order")
    private Double funcOrder;

    @TableField("is_show")
    private Boolean isShow;

    @TableField("is_deleted")
    private Boolean isDeleted;

    @ApiModelProperty(value = "数据来源:批量导入、手动添加")
    @TableField("data_source")
    private String dataSource;

    @TableField("create_user_id")
    private String createUserId;

    @TableField("create_time")
    private Long createTime;

    @TableField("update_user_id")
    private String updateUserId;

    @TableField("update_time")
    private Long updateTime;


    @Override
    protected Serializable pkVal() {
        return this.funcId;
    }

}
